/*********************************************************************
 ****  描    述： <QinCom 通讯协意 参数设置  ParameterSetting  F11 数据单元的处理方法>
 ****  创 建 者： <周渊>
 ****  创建时间： <2014-03-19>
 ****  修改标识:  修改人: 
 ****  修改日期:  
 ****  修改内容:   
*********************************************************************/
 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace InCom.Entities.UnitEntities
{

         /// <summary>
        ///   参数设置  F11数据单元的处理方法
        /// </summary>
        public class  ParameterSettingEntityF11Method : InCom.Utilities.Protocol.IUnitMethod
        {
            private byte _AFN =  (byte)InCom.Utilities.Protocol.AFN.PARAMETER_SETTINGS;

            public byte AFN
            {
                get { return _AFN; }
                set { _AFN = value; }
            }
            private ushort _FN = (ushort)InCom.Utilities.Protocol.FN.F11;
            public ushort FN
            {
                get { return _FN; }
                set { _FN = value; }
            }

            /// <summary>
            /// 将当前数据单元转换成为字节数组
            ///</summary>
            /// <param name="entity">传入数据单元对像实体</param>
            /// <returns></returns>
            public byte[] GetBuffer(Utilities.Protocol.IUnitEntity entity)
            {
                 //当前数据实体
                ParameterSettingEntityF11 current = (ParameterSettingEntityF11)entity;

                List<byte> result = new List<byte>();
                //数据单元标识
                result.AddRange(System.BitConverter.GetBytes(entity.FN));

                //这里开始编写处理数据的方法

               
                //定义返回数据功能
                byte[] retresult = result.ToArray();
                result.Clear();
                result = null;

                throw new NotImplementedException("没有实现方法,无法进行数据单元转换操作");

                //return retresult;

            }


            /// <summary>
            /// 创建一个新的数据单元实体
            /// </summary>
            /// <param name="buff">传入字节</param>
            /// <param name="offset">字节偏移量</param>
            /// <param name="entity">外部的数据对像实体,这个可以用池去处理</param>
            /// <returns>返回数据对像</returns>
            public Utilities.Protocol.IUnitEntity Decompose(byte[] buff, ref int offset, InCom.Utilities.Protocol.IUnitEntity entity = null)
            {
 
                ParameterSettingEntityF11 result = null;
                //当传入的对像为null时创建一个新的对像
                if (entity == null)
                {
                    result = new ParameterSettingEntityF11();
                }
                else {
                    result = (ParameterSettingEntityF11)entity;
                }

                throw new NotImplementedException("没有实现方法,无法进行解析数据到数据单元操作");
                
                //return result;
            }
        }
}

